package com.cnap.multiclouldmgmt.service;

import com.cnap.multiclouldmgmt.model.alg.*;

/**
 * 算法服务类
 *
 * @author xc
 **/
public interface AlgorithmService {

    /**
     * 获取cpu阈值
     *
     * @param request 请求
     * @return 响应
     */
    ResponseForCPU getCPUThresh(RequestForCPU request);

    /**
     * 获取响应时间阈值
     *
     * @param request 请求
     * @return 响应
     */
    ResponseForResTime getResTimeThresh(RequestForResTime request);

    /**
     * 获取gpu温度
     *
     * @param request 请求
     * @return 响应
     */
    ResponseForGPUTem getGPUTemThresh(RequestForGPUTem request);

    /**
     * 计算健康度
     *
     * @param request 请求
     * @return 结果
     */
    ResponseForHealth calHealthValue(RequestForHealth request);

    /**
     * 根因分析
     *
     * @param request 请求
     * @return 结果
     */
    ResponseForCause calRootCause(RequestForCause request);

}
